package com.qf.springmvc02.controller;

import com.qf.springmvc02.entity.User;
import org.omg.PortableInterceptor.INACTIVE;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

/**
 * @author 钻五大人
 * @date 2022/5/6 11:54
 */
@RestController
@CrossOrigin("http://localhost:8080")//当前服务允许谁来访问
public class RestfullController {

    // 查询所有用户
    @GetMapping("/users")
    public List<User> selectAll() {
        return Arrays.asList(User.builder().id(1).name("张三").password("123").build(),
                User.builder().id(2).name("李四").password("1234").build(),
                User.builder().id(3).name("王五").password("12345").build(),
                User.builder().id(4).name("赵六").password("123456").build());
    }

    // 查询单个用户
    @GetMapping("/users/{id}")
    public User selectOne(@PathVariable("id") Integer id) {
        // 使用建造者模式创建对象 可以使用链式编程赋值
        return User.builder().id(1).name("张三").password("123").build();
    }

    // 新增用户
    @PostMapping("/users")
    public String add(@RequestBody User user) {
        // %s 表示字串
        System.out.printf("新增用户%s", user);
        return "{code:1,success:true}";
    }

    // 修改用户
    @PutMapping("/users")
    public String update(@RequestBody User user) {
        System.out.printf("修改用户%s", user);
        return "{code:1,success:true}";
    }

    // 根据ID删除用户
    @DeleteMapping("/users/{id}")
    public String delete(@PathVariable("id") Integer id) {
        System.out.printf("删除ID是%d的用户\r\n", id);
        return "{code:1,success:true}";
    }
}
